package com.rbac.dto;

import com.rbac.entity.SysMenu;
import com.rbac.entity.SysRole;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 登录响应DTO
 *
 * @author rbac-system
 * @since 2024-01-01
 */
@Data
@ApiModel(value = "LoginResponse", description = "登录响应")
public class LoginResponse {

    @ApiModelProperty(value = "访问令牌")
    private String accessToken;

    @ApiModelProperty(value = "令牌类型")
    private String tokenType = "Bearer";

    @ApiModelProperty(value = "过期时间（毫秒）")
    private Long expiresIn;

    @ApiModelProperty(value = "用户ID")
    private Long userId;

    @ApiModelProperty(value = "用户名")
    private String username;

    @ApiModelProperty(value = "昵称")
    private String nickname;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "角色列表")
    private List<SysRole> roles;

    @ApiModelProperty(value = "菜单列表")
    private List<SysMenu> menus;
}
